package top.hkyzf.util;

import net.minecraftforge.common.ForgeConfigSpec;

/**
 * description: Mod 的配置类，与配置文件绑定
 * @author zhufeng
 * @date 2022/8/26 16:18
 * @version V1.0
 */
public class ClientConfig {
    public static final ForgeConfigSpec CONFIG_SPEC;
    public static final ForgeConfigSpec.Builder CONFIG_BUILDER = new ForgeConfigSpec.Builder();

    /**
     * 默认登录用户名
     */
    public static final ForgeConfigSpec.ConfigValue<String> DEFAULT_USERNAME;
    /**
     * 默认登录密码
     */
    public static final ForgeConfigSpec.ConfigValue<String> DEFAULT_PASSWORD;
    /**
     * 家的默认名字
     */
    public static final ForgeConfigSpec.ConfigValue<String> DEFAULT_HOME;
    /**
     * 家的安全区的名字
     */
    public static final ForgeConfigSpec.ConfigValue<String> SAFE_HOME;
    /**
     * 挂机动作间隔时间的最小值
     */
    public static final ForgeConfigSpec.ConfigValue<Integer> RANDOM_MIN_HOOK_SECOND;
    /**
     * 挂机动作间隔时间的最大值
     */
    public static final ForgeConfigSpec.ConfigValue<Integer> RANDOM_MAX_HOOK_SECOND;

    static {
        CONFIG_BUILDER.comment("OneKeyCommand Mod 配置");
        CONFIG_BUILDER.push("General");
        // 第一波，自动登录配置
        CONFIG_BUILDER.push("AutoLogin");
        // comment：参数注释
        // define：参数的 key 和 value
        DEFAULT_USERNAME = CONFIG_BUILDER.comment("默认用户名").define("username", "HKY_ZF");
        DEFAULT_PASSWORD = CONFIG_BUILDER.comment("默认密码").define("password", "12345678");
        CONFIG_BUILDER.pop();
        // 第二波，传送配置
        CONFIG_BUILDER.push("Transport");
        DEFAULT_HOME = CONFIG_BUILDER.comment("F12 传送的家的名字").define("home", "Home");
        SAFE_HOME = CONFIG_BUILDER.comment("传送键传送的家的名字").define("safeHome", "safe");
        CONFIG_BUILDER.pop();
        // 第三波挂机配置
        CONFIG_BUILDER.push("OnHook");
        RANDOM_MIN_HOOK_SECOND = CONFIG_BUILDER.comment("挂机随机时间最小值，单位：秒").define("minHook", 120);
        RANDOM_MAX_HOOK_SECOND = CONFIG_BUILDER.comment("挂机随机时间最大值，单位：秒").define("maxHook", 300);
        // defineInRange：参数的默认值，最小值和最大值
        CONFIG_BUILDER.pop();

        CONFIG_SPEC = CONFIG_BUILDER.build();
    }
}
